skip to main content


Search for: All records

Creators/Authors contains: "Weintrop, David"

Note: When clicking on a Digital Object Identifier (DOI) number, you will be taken to an external site maintained by the publisher. Some full text articles may not yet be available without a charge during the embargo (administrative interval).
What is a DOI Number?

Some links on this page may take you to non-federal websites. Their policies may differ from this site.

  1. Free, publicly-accessible full text available June 19, 2024
  2. Free, publicly-accessible full text available June 23, 2024
  3. There is an increasing need for knowledgeable K-12 computer science (CS) teachers. It is necessary to inform teachers how to debug and help their students debug programs. Research has shown that debugging is difficult for novices because the process requires different skills from creating programs and instructing students how to debug can help them acquire these skills. To this end, we developed a CS professional development for middle grade teachers (grades 5th-8th/ages 10-13) that includes lessons on debugging. The teachers completed debugging activities that involved finding bugs in Scratch programs and explaining how they would help their students in debugging. We qualitatively analyzed their responses and found that teachers successfully identified the problem but they struggled to locate it in the code. In considering how they would help students who had such a bug, the teachers often focused on helping the student find a solution for the bug rather than on identifying the problem or its source. Finally, teachers’ ability to identify bugs and the pedagogical strategies to engage students in this process differed based on CS teaching experience and prior CS knowledge. This work contributes to our understanding of teachers’ debugging abilities and advances our knowledge on how to support teachers in teaching their students how to debug their programs. 
    more » « less
  4. In 2020, the world confronted an unprecedented event affecting education globally: COVID-19. Events that disrupt education are not new; Homelessness or trauma negatively impact education at an individual level, whereas war stops education completely. This event is unique in that it caused the cessation of in-person instruction for all but with a rapid transition to remote instruction. In this study, we explore how the COVID-19 pandemic affected instruction of Scratch Encore Curriculum, a Scratch curriculum typ- ically used in middle grades with students between 10-14 years old. We analyzed a variety of data sources, including partner classroom- level data as well as anonymous download data. We found that instruction halted abruptly in the United States at the beginning of the March lockdown, with no further instruction that spring. With the introduction of online instructional materials, instruction resumed to normal levels during the 2020-21 school year (which was remote instruction for much of the year). In addition, students completed projects with similar accuracy and completeness during remote instruction as compared with in-person instruction prior to the pandemic. 
    more » « less
  5. Gresalfi, M. and (Ed.)
    The importance of integrating computational thinking (CT) into existing school structures, like core content domains, has emerged from efforts to improve computer science education in the U.S. In the past, computer science has often been treated as an elective or enrichment activity, which limits students’ exposure to foundational computing ideas, especially in underserved schools. However, given the ubiquity technology plays in our lives, it is imperative that all students have access to CT. Few studies have focused on how pre-service teachers (PSTs) learn about CT. Some researchers argue that CT integration into K-12 education belongs in teacher preparation programs and that teacher educators should develop courses aimed at supporting PSTs’ understanding of CT in the context of schools. This paper explores the ways in which PSTs begin to understand CT and how they work to integrate CT into their core subject areas. 
    more » « less
  6. Open-ended tasks can be both beneficial and challenging to students learning to program. Such tasks allow students to be more creative and feel ownership over their work, but some students struggle with unstructured tasks and, without proper scaffolds, this can lead to negative learning experiences. Scratch is a widely used coding platform to teach computer science in classrooms and is designed to support learner creativity and expression. With its open-ended nature, Scratch can be used in various ways in the classroom to meet the needs of schools and districts. One challenge of using Scratch in classrooms is supporting learners in exploring their interests and fostering creativity while still meeting the instructional goals of a lesson and ensuring all students are engaged with, and understand, focal concepts and practices. In this paper, we investigate the use of planning sheets to fa- cilitate novice programmers designing and implementing Scratch programs based on open-ended prompts. To evaluate the plan- ning sheets, we look at how closely students’ implemented Scratch projects match their plans and whether the implemented Scratch projects met the technical requirements for the given lesson. We analyzed 303 Scratch projects from 155 middle grade students (ages 10-14) who were introduced to programming via the Scratch Encore Curriculum. Completed Scratch projects that used planning sheets (202) were qualitatively coded to evaluate how closely they matched the initial plan, and Scratch programs (303) were analyzed with an automated grader to check if technical project requirements were met. Our results reveal that students that used planning sheets met significantly more technical project requirements and had more complex structures than those that did not have planning sheets. Results differ based on teacher and type of planning sheet used (physical vs. virtual). This work suggests that planning sheets are a helpful tool for young learners when completing open-ended coding projects. 
    more » « less
  7. Given the increasing interest and need to teach students computer science in formal education settings, it is imperative to understand how to do so effectively and equitably. An important step of learning to program is being able to define the objective of a program and then plan out how to implement a program to produce the desired outcome. This step is particularly important in younger learners who may have little experience with programming or trying to create their own technological artifacts. In this paper, we explore how to scaffold young programmers in planning their open-ended programs as part of an intermediate Scratch curriculum for middle grade students. We analyze 203 paper and virtual planning documents from 103 5th-8th grade students. Our results reveal that the students often completed a majority of the document, which was consistent across grade levels. However, we found differences in student completion based on teacher and between physical and virtual documents. This work advances our understanding of how to support novice, young programmers in planning programs. 
    more » « less
  8. The expansion of computer science (CS) into K-12 contexts has resulted in a diverse ecosystem of curricula designed for various grade levels, teaching a variety of concepts, and using a wide array of different programming languages and environments. Many students will learn more than one programming language over the course of their studies. There is a growing need for computer science assessment that can measure student learning over time, but the multilingual learning pathways create two challenges for assessment in computer science. First, there are not validated assessments for all of the programming languages used in CS classrooms. Second, it is difficult to measure growth in student understanding over time when students move between programming languages as they progress in their CS education. In this position paper, we argue that the field of computing education research needs to develop methods and tools to better measure students' learning over time and across the different programming languages they learn along the way. In presenting this position, we share data that shows students approach assessment problems differently depending on the programming language, even when the problems are conceptually isomorphic, and discuss some approaches for developing multilingual assessments of student learning over time. 
    more » « less
  9. There is a need for more K-12 computer science (CS) teachers. The need to scale teacher professional development (PD) points the CS education community towards virtual learning, and prior work shows that in-person PD with a diffuse schedule is more successful than condensed schedules. There is currently little research about virtual K-12 CS PD with a diffuse schedule. The pandemic served as a forced opportunity to explore the design and implementation of a diffuse-scheduled virtual PD for two small, equally-sized cohorts of middle school (grades 5-8) teachers; one from a metropolitan school district and another from across the United States. Our findings reveal several important post-pandemic design implications for future CS PD programs. First, the teachers’ CS knowledge and attitudes significantly increased in both cohorts. Second, there were no significant differences in attitudes or achievement between the cohorts. Third, the teachers in the virtual PD showed as good changes or better in attitude than those in a prior in-person PD. Finally, both cohorts were largely positive about the change from a few intensive PD days to a few hours a week for several weeks, even as they joined from vacations. 
    more » « less